<%--
  Created by IntelliJ IDEA.
  User: teacher
  Date: 2022/4/12
  Time: 14:52
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>四大作用域</title>
</head>
<body>
<%
    // 此处模拟存放作用域数据
    pageContext.setAttribute("msg","Hello pageContext");
    request.setAttribute("msg","Hello request");
    session.setAttribute("msg","Hello session");
    application.setAttribute("msg","Hello application");
    // 页面转发,共享请求与响应,但是不是一个页面
    // 此时pageContext作用域数据丢失
    // request.getRequestDispatcher("/jsp/scope2.jsp").forward(request,response);

    // 页面重定向,此时会发送新的请求,不再是同一个请求,也不是同一个页面
    // 此时pogeContext与request作用域数据丢失

    // 如果关闭浏览器再重新打开后直接访问scope2.jsp
    // 相当于关闭了之前的会话,又重新打开了一个新的会话
    // 会话不一致,此时session作用域数据丢失

    // 如果重新启动服务器,则原有的application会被清除,重新创建了一个新的application
    // 此时application不一致,则application数据丢失
    response.sendRedirect(request.getContextPath()+"/jsp/scope2.jsp");
%>
pageContext:<%=pageContext.getAttribute("msg")%><br/>
request:<%=request.getAttribute("msg")%><br/>
session:<%=session.getAttribute("msg")%><br/>
application:<%=application.getAttribute("msg")%><br/>
</body>
</html>
